'use strict';

module.exports = () => {
  return async function responseHandler(ctx, next) {
    await next();
    // 如果有错误，错误中间件会处理，这里不需要处理
    if (ctx.status === 200 && !ctx.body.code && typeof ctx.body !== 'string') {
      // 统一处理成功响应格式
      const originalBody = ctx.body;

      ctx.body = {
        code: 200,
        message: 'success',
        data: originalBody,
      };
    }
  };
};
